import http from '@/utils/request'
import { AxiosPromise } from 'axios'

// Web历史记录参数接口
export interface WebHistoryParam {
  /** 操作人账户id */
  plateformUserId?: number
  /** 操作人账户名称 */
  plateformUserName?: string
  /** 操作类型 */
  operationType?: string
  /** 操作状态 0-新增，1-修改,2-删除 */
  operationStatus?: string
  /** 操作结果,成功或失败 */
  operationResult?: string
  /** 操作时间开始 */
  operationTimeStart?: string
  /** 操作时间结束 */
  operationTimeEnd?: string
  /** 当前页 */
  page: number
  /** 每页记录数 */
  pageSize: number
}

// Web历史记录响应接口
export interface CereWebHistory {
  /** 主键ID */
  webHistoryId: number
  /** 操作人账户ID */
  webPlatformUserId: number
  /** 操作人昵称 */
  webName: string
  /** 操作人手机号 */
  webPhone: string
  /** 操作人头像 */
  webAvatar: string
  /** 操作行为 */
  webAction: string
  /** 操作时间 */
  webActionTime: string
  /** 操作结果 */
  webActionResult: string
  /** 操作类型 0-增加,1-修改，2-删除 */
  webActionType: number
}

// 分页响应接口
export interface PageResponse<T> {
  records: T[]
  total: number
  size: number
  current: number
  orders: any[]
  optimizeCountSql: boolean
  searchCount: boolean
  countId?: string
  maxLimit?: string
  pages: number
}

/**
 * 获取Web历史记录列表
 * @param params 查询参数
 * @returns 分页数据
 */
export const getWebHistoryInfo = (params: WebHistoryParam): AxiosPromise<PageResponse<CereWebHistory>> => {
  return http.post({
    url: '/history/info',
    data: params
  })
}